<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>函数的作用域(let,var,const)</title>
</head>

<body>
    <script>
        //全局变量:定义在script内部，function外部，作用域范围是整个script
        //局部变量:定义function内部，作用域范围是当前函数内部
        //方法1
        function fn() {
            num = 1;
            num++;
            console.log(num) //分别输出结果，结果多少，why？2
        }

        function fn1() {
            num++;
            console.log(num); //分别输出结果，结果多少，why？3
        }

        fn();
        fn1();

        /*let var const区别:
          let块级作用域,var全局作用域;var会变量提升,let不会变量提升;var重复定义,let不能重复定义;let 先定义后使用
          const:常量(不可改变的量)作用域等价于let
          */

        {
            let username = "lucy";
            var name_ = 'lily'
            console.log(username)
        }

        console.log(name_)

        const pi = 3.1415926 //不可改变的量
        pi = 3;
        console.log(pi)
    </script>
</body>

</html>